﻿/*
#**************************************************************************
#  openSIS is a student information system for public and non-public 
#  schools from Open Solutions for Education, Inc. web: www.os4ed.com
#
#  openSIS is  web-based, open source, and comes packed with features that 
#  include student demographic info, scheduling, grade book, attendance, 
#  report cards, eligibility, transcripts, parent portal, 
#  student portal and more.   
#
#  Visit the openSIS web site at http://www.opensis.com to learn more.
#  If you have question regarding this system or the license, please send 
#  an email to info@os4ed.com.
#
#  This program is released under the terms of the GNU General Public License  
#  as  published by the Free Software Foundation, version 2 of the License. 
#  See license.txt.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
#**************************************************************************** 

*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using OpenSIS.OpenSISWCFServiceReference;
using System.Data;

namespace OpenSIS.Calendar
{
    public partial class MainMasterPage : System.Web.UI.MasterPage
    {
        DataTable dtDateFormat = null;
        DataTable dtTimeJoneCode = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                
              lblusername.Text = Session["username"].ToString();             
              CheckSessionExpiry();
              ShowDateAndTime();
              if (Session["SchoolID"] == null)
              {
                  //Response.Redirect("~/Login");
                  Response.Redirect("~/login.aspx");
              }

            }
            catch
            {
                Session.Abandon();
                //Response.Redirect("~/Login");
                Response.Redirect("~/login.aspx");
            }
            finally
            {
            }

        }



        protected void lblogout_Click(object sender, EventArgs e)
        {
            Session.Abandon();
            // Response.Redirect("~/Login");
            Response.Redirect("~/login.aspx");

        }
        private void CheckSessionExpiry()
        {
            if (Context.Session == null)
            {
                if (Session.IsNewSession)
                {
                    string strCookieHeader = Request.Headers["Cookie"];
                    if ((strCookieHeader == null) && (strCookieHeader.IndexOf("ASP.NET_SessionId") >= 0))
                    {
                        //Response.Redirect("~/login.aspx");
                        Response.Redirect("~/Login");
                    }
                }
            }
        }
        private void ShowDateAndTime()
        {
            try
            {
                string Dateformat = "", TimeZone = "";

                OpenSISWCFServiceInstallationClient INBL = new OpenSISWCFServiceInstallationClient();

                dtDateFormat = INBL.getdateformat();
                dtTimeJoneCode = INBL.getTimeJoneCode();
                INBL.Close();

                if (dtDateFormat.Rows.Count > 0)
                {
                    Dateformat = dtDateFormat.Rows[0][0].ToString();
                }
                if (dtTimeJoneCode.Rows.Count > 0)
                {
                    TimeZone = dtTimeJoneCode.Rows[0][0].ToString();
                }


                TimeZoneInfo timeZoneInfo;

                DateTime dateTime;

                timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(TimeZone);

                dateTime = TimeZoneInfo.ConvertTime(DateTime.Now, timeZoneInfo);


                lblDateTime.Text = dateTime.ToString(Dateformat + " h:mm tt");
            }
            catch
            {
            }
            finally
            {

            }

        }    
 
    }
}